#pragma once
#include "Entity.h"
#include "Struct.h"

class ModelEntity : public Entity {
public:
	ModelEntity(ModelType type, int ID) : m_type(type), m_ID(ID) { create(type, ID); }

	void create(ModelType type, int ID);

	void update() override;

	ModelType type() const { return m_type; }

private:
	ModelEntity(Entity* parent): Entity(parent) {}

	void fillOneMesh(ModelType type, int meshIndex = 0, bool asChild = false);

	void attachEllipseEffect(Entity* e);

	ModelType m_type;
	int m_ID;

	bool m_wasMixedWithColor = false;
};